package com.twogroup;

import java.io.IOException;

/**
 * @author binghan
 * @version 1.0
 * @description: TODO Day03 Code
 * @date 2022/5/12 10:42
 */
public class CodeDay03 {

    public static void main(String[] args) {
        test04();
    }

    /**
     * 测试 if、else
     * @throws IOException
     */
    public static void test01() throws IOException {
        System.out.println("请输入你的成绩: ");
        char a = (char)System.in.read();
        char b = (char)System.in.read();
        int score = (a-'0')*10 + b-'0';
        if (score >= 60)
            System.out.println("你及格了！");
        else
            System.out.println("你没及格了！");
    }

    /**
     * 测试 switch
     */
    public static void test02() {
        switch (1) {
            case 1:
                System.out.println("1");
                break;
            case 2:
                System.out.println("2");
                break;
        }
    }

    /**
     *  测试 do while
     * @throws IOException
     */
    public static void test03()  throws IOException{
        char c;
        StringBuffer buffer = new StringBuffer();
        System.out.println("输入一句子以.表示结束");
        do {
            c = (char) System.in.read();
            buffer.append(c);
        } while (c != '.');
        System.out.println("Output = " + buffer.toString());
    }

    /**
     * 在循环中删除数组元素（删除奇数）
     */
    public static void test04() {

        System.out.println("=====在循环中删除数组元素=====");
        // 初始数组元素
        int[] orignNum = new int[10];
        // 数组元素赋值1-10
        for (int i = 0; i < orignNum.length; i++) {
            orignNum[i] = i+1;
        }
        System.out.println("=====显示默认数组元素=====");
        for (int i : orignNum) {
            System.out.print(i+",");
        }

        // 变量 记录 变化的数组元素数量 因为数组的默认属性length 是final不可变常量， 所以新增变量记录
        int curNumSize = orignNum.length;
        // 在循环中删除数组元素（删除奇数）
        for (int i = 0; i < curNumSize; i++) {

            // 判断当前元素是否为奇数
            if(orignNum[i]%2 != 0) {
                // 删除当前奇数元素
                // 步骤如下：将当前元素后每一个元素前移
                // 1. 将当前元素值设置为下一个元素
                // 2. 重复1.直至倒数第二个元素
                for (int j = i; j < curNumSize-1; j++) {
                    orignNum[j] = orignNum[j+1];
                }
                // 将最后一个数组元素置为0 相当于不存在
                orignNum[curNumSize-1] = 0;
                // 将当前数组元素的数量减-
                curNumSize--;
            }
        }

        // 循环遍历删除后的数组元素
        System.out.println("\n=====显示删除奇数后数组元素=====");
        for (int i = 0; i < curNumSize; i++) {
            System.out.print(orignNum[i]+",");
        }

    }
}
